package org.footballmanager.pandafootball.system.service;

import org.footballmanager.pandafootball.system.domain.FootSociatyBfinfo;
import org.footballmanager.pandafootball.system.form.impl.FootSociatyBfinfoSearchForm;
import org.springframework.ui.Model;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface FootSociatyBfinfoService extends BaseService<FootSociatyBfinfo> {
    /**
     * 根据公会主键判定是否够3人，不够不能报分
     *
     * @param zdId 工会主键
     * @return 是否能够报分
     */
    boolean isCanBf(Long zdId);

    /**
     * 报分
     *
     * @param zdId1   工会主键1
     * @param zdId2   工会主键2
     * @param jq1     进球1
     * @param jq2     进球2
     * @param request 请求
     */
    void bf(Long zdId1, Long zdId2, Integer jq1, Integer jq2, HttpServletRequest request);

    /**
     * 翻页方法
     *
     * @param footSociatyBfinfoSearchForm 条件
     * @return 列表
     */
    List<FootSociatyBfinfo> findall(FootSociatyBfinfoSearchForm footSociatyBfinfoSearchForm);

    /**
     * 查询
     *
     * @param entityname                  实体类名
     * @param map                         参数
     * @param footSociatyBfinfoSearchForm 条件
     */
    void search(String entityname, Model map, FootSociatyBfinfoSearchForm footSociatyBfinfoSearchForm);

    /**
     * 删除所有
     *
     * @param footSociatyBfinfoSearchForm 条件
     * @param request                     请求
     */
    void deleteAll(FootSociatyBfinfoSearchForm footSociatyBfinfoSearchForm, HttpServletRequest request);

    /**
     * 查看详情
     *
     * @param id                          主键
     * @param map                         参数
     * @param request                     请求
     * @param footSociatyBfinfoSearchForm 条件
     * @param isViewPage                  是否是查看页面
     * @return 页面
     */
    String view(Long id, Model map, HttpServletRequest request, FootSociatyBfinfoSearchForm footSociatyBfinfoSearchForm, boolean isViewPage);

    /**
     * 确认报分
     *
     * @param id      主键
     * @param request 请求
     */
    void makesure(Long id, HttpServletRequest request);

}